package demo03.LambdaTest;

import java.util.Arrays;
import java.util.Comparator;

/*
    如果一个方法的返回值类型是一个函数式接口，那么就可以返回一个lambda表达式
    当一个方法需要java.util.Comparator接口类型的对象作为排序器时，可以调用该方法获取
 */
public class Demo02Comparator {
    //定义一个方法，返回Comparator接口
    public static Comparator<Integer> getComparator(){
        //返回Comparator接口示例对象
  /*      return new Comparator<Integer>() {
            @Override
            public int compare(Integer o1, Integer o2) {
                return o2-o1;
            }
        };*/
        //返回lambda表达式的Comparator接口示例对象
        return (o1,o2)->o2-o1;
    }

    public static void main(String[] args) {
        Integer[]array={5,9,5,6,4,2,3,1};
        Arrays.sort(array,getComparator());
        //从大到小排序
        for (Integer integer : array) {
            System.out.print(" "+integer);
        }

    }
}
